/***
 * 统一处理全选，反选，选择删除操作
 * 
 * 使用方式：
 * 1、指定元素的id或name属性：全选的checkbox的id为allCheck,列表中每一行的checkbox的name为ids,删除按钮的id为deleteButton
 * 2、在list页面中</body>之前引入list.js文件
 * 3、delete方法为ajax调用方法，返回的json数据
 */
$().ready(function() {
	allcheck();
});
function allcheck(){
	
	var $allCheck = $("#allCheck"); // 全选复选框
	var $idsCheck = $('[name=ids]:checkbox'); // ID复选框
	var $deleteButton = $("#deleteButton"); // 删除按钮

	// 全选
	$allCheck.click(function() {
		var isChecked = $(this).is(":checked");

		if (isChecked == false) {
			$idsCheck.prop('checked', false);
			$deleteButton.prop("disabled", true);
		} else {
			$idsCheck.prop('checked', true);
			$deleteButton.prop("disabled", false);
		}
	});

	// 无复选框被选中时,删除按钮不可用
	$idsCheck.click(function() {
		var $idsChecked = $("[name='ids']:checked");
		if ($idsChecked.size() > 0) {
			$deleteButton.prop("disabled", false);
		} else {
			$deleteButton.prop("disabled", true)
		}
	});
	
}
// 批量删除
function deleteAll(url) {
	// var $allCheck = $("#allCheck"); // 全选复选框
	var $idsCheckedCheck = $("[name='ids']:checked");
	var $deleteButton = $("#deleteButton"); // 删除按钮
	var ids = $idsCheckedCheck.serialize();
	bootbox.confirm('您确定要删除吗？', function(result) {
		if (result) {
			$.ajax({
				url : url,
				data : ids,
				dataType : "json",
				async : false,
				beforeSend : function(data) {
					$deleteButton.prop("disabled", true)
				},
				success : function(data) {
					bootbox.alert(data.message, function() {
//						if (data.status == "success") {
//							$idsCheckedCheck.parent().parent().remove();
//							var $idsCheck = $("[name='ids']");
//							if ($idsCheck.size() == 0) {
//								location.replace(location.href);
//							}
//						}
//						if (data.status == "error") {
							location.replace(location.href)
//						}
					});
				}
			});
			// location.replace(location.href)
		}
	});
}
function saveadminrole(url) {
	var roleid = $("#adminSet_id").val();
	var checkedresourceids = [];
	var allresourceids = [];
	$("input[name='ids']:checked").each(function(i) {
		checkedresourceids[i] = $(this).val();
	});
	$("input[name='ids']").each(function(i) {
		allresourceids[i] = $(this).val();
	});
	$.ajax({
		type : "post",
		url : url,
		data : {
			adminSet_id : roleid,
			ids : checkedresourceids,
			allids : allresourceids
		},
		dataType : "json",
		async : false,
		success : function(data) {
			bootbox.alert(data.message);
		}
	});
}

function saveroleresource(url) {
	var roleid = $("#roleSet_id").val();
	var checkedresourceids = [];
	var allresourceids = [];
	$("input[name='ids']:checked").each(function(i) {
		checkedresourceids[i] = $(this).val();
	});
	$("input[name='ids']").each(function(i) {
		allresourceids[i] = $(this).val();
	});
	$.ajax({
		type : "post",
		url : url,
		data : {
			roleSet_id : roleid,
			ids : checkedresourceids,
			allids : allresourceids
		},
		dataType : "json",
		async : false,
		success : function(data) {
			bootbox.alert(data.message);
		}
	});
}